package com.bbva.kyfb.kyfbutils.pau;

import java.util.Random;

/**
 * Clase que contiene las funciones satelites para una posible utilizacion en el pau.
 */
public final class FuncionesPAU {

	/** The random gen. */
	private static final Random RANDOM_GEN = new Random();
	/**
	 * Devuelve un tipo 'int' aleatorio.
	 *
	 * @return int
	 */
	public static int getNumeroAleatorio() {
		return Math.abs(RANDOM_GEN.nextInt(1000000000));
	}
	
	/**
	 * Devuelve un tipo 'long' aleatorio de hasta 'longitud' posiciones.
	 *
	 * @param longitud int
	 * @return long
	 */
	public static long getNumeroAleatorio(final int longitud)
	{
		
		final Double numero = new Double(Math.abs((long)RANDOM_GEN.nextInt())%Math.pow(10,longitud));
		return numero.longValue();
	}
	
	/**
	 * Devuelve un tipo 'long' aleatorio de 'iNumDigitos' posiciones.
	 *
	 * @param iNumDigitos int
	 * @return long
	 */
	public static long getReferenciaNPosiciones(final int iNumDigitos) 
	{
		double randomize = 0.01;
		while (randomize < 0.1 || randomize >= 0.9) {
			randomize = Math.random();
		}
		final double zeros = Math.pow(10,iNumDigitos);
		return Math.abs(Math.round(randomize*zeros));
	}
	
}
